[Chapter 33] 33.6 Database Maps and m4
Author: Bryan Costales & Eric Allman
Date: 1999-01-06T20:25:52Z

#

| Chapter 33 Database Macros |

## 33.6 Database Maps and m4

Some databases, such as `user`, are a part of UNIX. Others are a part of sendmail, like the User Database described above. Many, however, are implemented in rules and rule sets. This latter sort of database is therefore available via the m4 technique. Currently, all m4 available databases are implemented as FEATUREs. Table 33.7 lists those available. The second column shows you where to find information about each.

Table 33.7: Database FEATUREs
Feature |  | Version | Description
--- | --- | --- | ---
domaintable | Section 19.6.10, FEATURE(domaintable) | V8.1 and above | Accept other domains as equivalent to the local domain
genericstable | Section 19.6.11, FEATURE(genericstable) | V8.8 and above | Transform sender addresses
mailertable | Section 19.6.14, FEATURE(mailertable) | V8.1 and above | Select new delivery agents based on an external database
virtusertable | Section 19.6.28, FEATURE(virtusertable) | V8.8 and above | Support for virtual domains

Note that these FEATUREs do not necessarily need to be used with database files. To illustrate, consider the `domaintable` feature (see Section 19.6.10). It is included in your mc file like this:

>     FEATURE(`domaintable',`nis domaintable')

Here, we specify that the database is to be an nis map. This causes the `key` to be looked up via the nis services and any match to be returned the same way.

33.5 The User Database |  | 33.7 Pitfalls